Product : ISaGRAF V3.3x
Date : 25-August-1999
Subject : How run time error messages are displayed in the debugger
window ?
Keywords: Warning - Error - Message - Debugger - sys_err - isdk_txt
____________________________________________________________________
A run time error (warning) is emitted by the target software using
"sys_err" routine:
void sys_err(uint16 num, uint16 arg)
Each warning is identified by a number plus an argument
The debugger displays both number and argument with the following
format:
<argument>:<error description or number>
Normally, the number is replaced by a readable string.
This applies to
- standard warnings defined by ICS Triplex ISaGRAF Inc.
- private warnings supported by ISDK_TXT.DLL
Below is the algorithm used to display the error number or string:
if string is defined by ISDK_TXT.DLL for this number
then
display string provided by ISDK_TXT.DLL
else if it is a standard warning
then
display standard string
else
display the error number in decimal: "ERROR nnn"
where nnn is the error number passed to sys_err
endif
The debugger automatically regonize arguments which are valid VAs,
and replace the arg number by the object symbol in this case.
Below is the algorithm used to display the argument:
if argument is valid VA of a declared object
then
display the object symbol
else
display the argument in decimal between brackets:
"[nnn]" where nnn is the argument value
endif
Valid VAs are expressed on 16 bit arguments where:
- 4 highest bits are the type (1=boo / 2=ana / 3=tmr / 4=msg ...)
- 12 lowest bits are the range (address)
Variables with range greater than 4095 are not supported.
Type 0 is never used. This implies that, if you set an argument
lower than 4096, you are sure that it will always be displayed as
a number.
____________________________________________________________________
Copyright © 1996-2009 ICS Triplex ISaGRAF Inc. All rights reserved.